• 问题

    绝大多数方法和构造器对于传递给他们的参数值都会有某些限制。例如索引值必须是非负数,对象引用不能为null等等。在编写方法有一个普遍的原则是“应该在发生错误之后尽快检测出错误”,按照这样的原则,在实际开发中应该怎样做?

  • 解决

    1. 为了避免由于方法入参不符合规范,将异常扩散到方法执行过程之中,在设计方法或者构造器时,应该考虑方法的入参有哪些限制,应该在方法开头显式的进行参数有效性判断,也应该将这些参数有效性写入在文档中;
    2. 对于公有的方法,要用Javadoc的@throws标签 在文档中说明违反参数值限制时会抛出的异常。通常这样的异常为IllegalArgumentExceptionIndexOutOfBoundsException
  • 结论

    每当编写方法或者构造器的时候,应该考虑它的参数有哪些限制,应该把这些限制写在文档中,并且在这个方法体的开头处,通过显示的检查来实施这些限制。养成这样的习惯是非常重要的。

results matching ""

    No results matching ""